/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.upn.sigemfi.can.beans;

import edu.upn.sigemfi.can.bc.CiudadDelegate;
import edu.upn.sigemfi.can.be.Ciudad;
import edu.upn.sigemfi.can.be.Pais;
import java.util.List;
import javax.faces.model.SelectItem;

/**
 *
 * @author Orlando ( U )
 */
public class CiudadController extends AbstractController {

    private CiudadDelegate delegado;
    private Ciudad ciudad;

    public Pais paisseleccionado;

    public CiudadController(){
        delegado = new CiudadDelegate();
    }

    public List<Ciudad> getCiudades() {
        try {
            return delegado.listar();
        } catch (Exception e) {
            error(e.getMessage());
        }
        return null;
    }

   public SelectItem[] getListaCiudades() {
        SelectItem[] select = null;
        try {
            List<Ciudad> lista = delegado.listar();
            if (lista != null) {
                select = new SelectItem[lista.size()];
                int i = 0;
                
                for (Ciudad c : lista) {
                    select[i++] = new SelectItem(c, c.getNombreCiudad());
                }
            } else {
                select = new SelectItem[1];
                select[0] = new SelectItem(null, "No existen Ciudades");
            }
        } catch (Exception e) {

        select = new SelectItem[1];
        select[0] = new SelectItem(null, "<<Hubo un error>>" );
        error(e.getMessage());
        }
        return select;
    }

    public String nuevo() {
        ciudad = new Ciudad();
        return "nuevo";
    }

    public String editar() {
        return "editarbanco";
    }

     public String registrar() {
        try {
            delegado.crear(ciudad);
            info("La Ciudad se registró correctamente");
        } catch (Exception e) {
            error(e.getMessage());
        }
        return "volver";
    }

    public String actualizar() {
        try {
            delegado.editar(ciudad);
            info("La ciudad se actualizó correctamente");
        } catch (Exception e) {
            error(e.getMessage());
        }
        return "volver";
    }

    public String eliminar() {
        try {
            delegado.eliminar(ciudad);
            info("La ciudad se eliminó correctamente");
        } catch (Exception e) {
            error(e.getMessage());
        }
        return "volver";
    }

    public Ciudad getCiudad() {
        return ciudad;
    }

    public void setCiudad(Ciudad ciudad) {
        this.ciudad = ciudad;
    }

    public Pais getPaisseleccionado() {
        return paisseleccionado;
    }

    public void setPaisseleccionado(Pais paisseleccionado) {
        this.paisseleccionado = paisseleccionado;
    }


}
